# Neo4j

>什么是 `Neo4j`？

>- Neo4j 是一种专门用于图数据库技术的 `开源数据库管理系统`。

>- Neo4j 允许您以节点和边的形式表示和存储数据，非常适合处理连接数据和关系。

>- Neo4j 提供了 `Cypher 查询语言`，使得与图数据的交互和查询变得简单。

>- 使用 Neo4j，您可以实现高性能的 `图遍历和查询`，非常适合生产级系统。

>通过访问[它们的网站](https://neo4j.com/)开始使用 Neo4j。

## 安装和设置

- 使用 `pip install neo4j` 安装 Python SDK

## VectorStore

Neo4j 矢量索引被用作矢量存储，无论是用于语义搜索还是示例选择。

```python
from langchain_community.vectorstores import Neo4jVector
```

查看[使用示例](/docs/integrations/vectorstores/neo4jvector)

## GraphCypherQAChain

存在一个围绕 Neo4j 图数据库的包装器，允许您根据用户输入生成 Cypher 语句，并使用它们从数据库中检索相关信息。

```python
from langchain_community.graphs import Neo4jGraph
from langchain.chains import GraphCypherQAChain
```

查看[使用示例](/docs/integrations/graphs/neo4j_cypher)

## 从文本构建知识图谱

文本数据通常包含丰富的关系和见解，这些对于各种分析、推荐引擎或知识管理应用都很有用。

Diffbot 的 NLP API 允许从非结构化文本数据中提取实体、关系和语义含义。

通过将 Diffbot 的 NLP API 与 Neo4j 图数据库结合使用，您可以基于从文本中提取的信息创建强大的动态图结构。

这些图结构是完全可查询的，并可集成到各种应用程序中。

```python
from langchain_community.graphs import Neo4jGraph
from langchain_experimental.graph_transformers.diffbot import DiffbotGraphTransformer
```

查看[使用示例](/docs/integrations/graphs/diffbot)

## Memory

查看[使用示例](/docs/integrations/memory/neo4j_chat_message_history)。

```python
from langchain.memory import Neo4jChatMessageHistory
```